A smart key device is a device with a USB interface in double-factor authentication mode, with a low cost and convenient application. With a built-in single chip microcomputer or a smart key device chip, the smart key device can store a user key or a digital certificate, and authenticate identity of a user by a cipher text algorithm in it. The smart key device also has functions such as email encrypting, digital signature, security certificate, safely networking log-on and SSL security networking accessing with a feature of ensuring private key of the user to be always with its hardware and anti-attack physically, and therefore has high security.
Although a Java application can access the smart key device directly, the feature with the java language makes source codes being easily obtained by decompilation, and therefore has security risk with low accessing security.